1. Field of the Invention
The present invention relates to digital computer systems and more specifically to apparatus used in digital computer systems to generate displays.
2. Description of the Prior Art: FIG. 1
It has long been the practice in computer systems to employ a separate subsystem to generate displays on a CRT. There are two reasons for so doing: to simplify the interface between the CRT and the computer system and to offload at least some of the processing involved in generating a display from the remainder of the computer system to the subsystem. One such separate subsystem which has been popular in recent years is the enhanced graphics adapter (EGA) card for the IBM personal computer, described in "Graphic Enhancement", in PC Tech Journal, vol. 3, no. 4, Apr. 1985, pp. 58-80. That article is hereby incorporated by reference into the present application.
FIG. 1 is a block diagram of a computer system employing a graphics adapter of the type of the EGA. The system contains system CPU (SCPU) 101, system memory (SMEM) 103, graphics adapter (GA) 109, and DISP 111. SCPU 101, SMEM 103, and GA 109 are connected by means of data bus (DB) 107, which transfers data between SCPU 101, SMEM 103 and GA 109, address bus (AB) 105, which provides addresses from SCPU 101 to SMEM 103 and GA 109, and control bus (CTLB) 106 which provides signals controlling the interaction of SCPU 101, SMEM 103, and GA 109. GA 109 is further connected to DISP 111. In this and the other figures of the present application, control signals are indicated by dashed arrows. GA 109 further contains display processor (DPR) 119, which processes data to be displayed on DISP 111, DMEM 117, in which the data to be displayed is stored, and a set of registers, CDS 115, which contain data which controls operation of DPR 119.
To a programmer of SCPU 101, GA 109 appears as an I/0 device. The programmer may specify CDS 115 as a destination for data and DMEM 117 as either a source of or destination for data. To operate GA 109, the programmer first loads CDS 115 with the control data required to cause DPR 119 to perform the proper operations and then either reads data from DMEM 117 or writes it to DMEM 117 as required to put the data in DMEM 117 into the proper form for display on DISP 111. In reading or writing the data, DPR 119 may perform logical operations on the data and operations such as swapping, rotating, or masking. In addition to processing data for DMEM 117, DPR 119 further provides display addresses (DA) 116 to DMEM 117. In response to those addresses, DMEM 117 outputs data for display on DISP 111 to DPR 119, which operates on the display data as specified by CDS 115 and then outputs it to a controller for DISP 111. References to DMEM 117 in response to addresses on AB 105 are interleaved with writes from DMEM 117 in response to DA 116. Consequently, a change in the contents of DMEM 117 as a result of an operation controlled by SCPU 101 is quickly reflected on DISP 111. Because operation of GA 109 is controlled by CDS 115, each time the program executing on SCPU 101 desires to perform a different graphics operation, it must reload CDS 115 with the control data required for the new graphics operation.
While graphics adapters of the EGA type are effective, they have a number of problems. One is that there is only a single CDS 115. Consequently, CDS 115 must be reloaded each time a new graphics operation is performed. In many cases, in fact only a small number of different graphics operations ar performed; nevertheless, CDS 115 must be reloaded each time, greatly reducing the speed of graphics operations Moreover, the single CDS 115 increases the difficulty of operations such as writing characters and performing vector graphics in the same display and writing simultaneously to two screens or to two windows in a screen. Another problem is that prior-art EGAs work only on 8-bit bytes, again slowing down the speed with which graphics operations can be performed. Finally, the only source for a mask in the masking operations is CDS 115, thus making it necessary to reload CDS 115 in order to change a mask. These problems and others are solved by the graphics adapter of the present invention.